package com.hooya.fa.eu.biz.service;

import com.hooya.fa.eu.api.dto.PlInvoiceFlushDTO;
import com.hooya.fa.eu.api.dto.PlInvoiceQueryDTO;
import com.hooya.fa.eu.biz.dao.entity.PlInvoice;

import java.util.List;

/**
 * @Description 1
 * @Author : Zongz
 * @Copyright Copyright (c) 豪雅集团
 * @Create 2023/12/5
 * @Version 1.0.0
 */
public interface PLInvoiceService {

    /**
     * 新增波兰发票
     *
     * @return int
     */
    int addPLInvoice();

    /**
     * 新增波兰修正发票
     *
     * @param startDate 开始日期
     * @param endDate   结束日期
     */
    void addCorrectionInvoice(String startDate, String endDate);

    /**
     * 刷写costway公司名称
     */
    void flushInfo();

    /**
     * 临时刷写发票信息
     */
    String temporaryFlushInfo(PlInvoiceFlushDTO dto);

    /**
     * 根据波兰发票id批量删除线上发票
     *
     * @param date 日期
     */
    void batchDeleteByPlIds(String date);

    /**
     * 按月批量删除线上发票
     *
     * @param date 日期
     */
    void batchDeleteByNumber(String date);

    /**
     * 回写client id
     *
     * @param date 日期
     */
    void writeBackClientId(String date);

    /**
     * 根据条件获取需要对波兰发票系统刷写的数据
     *
     * @param query 条件
     * @return list
     */
    List<PlInvoice> getFlushInfo(PlInvoiceQueryDTO query);
}
